package customerEnter.Frame.JDBCDao.daoFrame;

import customerEnter.Frame.DaoDataTransmission.FrameBeanSuper;

/**
 * 符合開閉原則
 * 
 * 类名称：DaoFrameInterface 类描述： 创建人：dy 创建时间：2016-4-15 下午4:35:37
 * 
 */
public abstract interface DaoFrameInterface<T extends Object, K extends FrameBeanSuper> {

	/**
	 * 查詢数据 返回k类型的集合 沒有緩存
	 * 
	 * @throws SQLException
	 * @throws Exception
	 */
	// List<T> findConditionQuery(String DataBase, String DML, String Front,
	// String Rule, String TableName, String where);

	/**
	 * 查詢數據 返回不確定的類型 不關閉鏈接 由用戶控制關閉鏈接 可以多重查詢 有緩存
	 * 
	 * @throws SQLException
	 * @throws Exception
	 */
	/*
	 * List<?> findConditionQueryOhter(String DataBase, String DML, String
	 * Front, String Rule, String TableName, String where, Class<?> ClassName);
	 */

	/**
	 * 查詢數據 返回不確定的類型 不關閉鏈接 由用戶控制關閉鏈接 可以多重查詢 有緩存
	 * 
	 * @throws SQLException
	 * @throws Exception
	 */
	/*
	 * List<?> findNoConditionQueryOhter(String DataBase, String DML, String
	 * Front, String Rule, String TableName, String where, Class<?> ClassName);
	 */

	/**
	 * 查詢數據 返回不確定的類型 不關閉鏈接 由用戶控制關閉鏈接 可以多重查詢 無緩存
	 * 
	 * @throws SQLException
	 * @throws Exception
	 */
	/*
	 * List<?> findNoConditionNoEachQueryOhter(String DataBase, String DML,
	 * String Front, String Rule, String TableName, String where, Class<?>
	 * ClassName);
	 */

	/**
	 * 查詢數據 返回不確定的類型 由用戶控制關閉鏈接 單次查詢 無緩存
	 * 
	 * @throws SQLException
	 * @throws Exception
	 */
	/*
	 * List<?> findNoConditionNoEachOhter(String DataBase, String DML, String
	 * Front, String Rule, String TableName, String where, Class<?> ClassName);
	 */

	/**
	 * 增加數據
	 */
	/*
	 * String InsterObject(String DataBase, String TableName, LinkedList<?>
	 * values);
	 */

	/**
	 * 添加數據 對象與表的映射
	 * 
	 * @return
	 */
	/* String InsertMapping(String DataBase, String Table, T MappingObject); */

	/**
	 * 修改數據 沒有封裝
	 */

	/* Integer UpdateObject(String sql); */

	/**
	 * 修改數據 對象與表的映射
	 */
	/*
	 * String UpdateMappingObject(String DataBase, String TableName, T
	 * MappingObject, String where);
	 */

	/**
	 * 獲取類的名字 外部接口要用
	 */
	/* String FindTClassName(); */

	/**
	 * 獲取sql
	 */
	/*
	 * public String SqlAcquire(String DataBase, String DML, String Front,
	 * String Rule, String TableName, String where);
	 */
}